home *** CD-ROM | disk | FTP | other *** search
/ PC World Interactive 7 / PC World Interactive 7.iso / program / cprog.EXE / FREE.C < prev    next >
C/C++ Source or Header  |  1994-06-30  |  3KB  |  81 lines

  1.     /* **************************************************************** */
  2.     /* ****                                                         *** */
  3.     /* ****    GOKHAN KUCUKTOPUZLU                                  *** */
  4.     /* ****                                                         *** */
  5.     /* ****    Diskteki Toplam Alani ve Bos Alani Bulur.            *** */
  6.     /* ****                                                         *** */
  7.     /* ****    Kullanim : FREE                                      *** */
  8.     /* ****               FREE C:                                   *** */
  9.     /* ****                                                         *** */
  10.     /* **************************************************************** */
  11.     #include <stdio.h>
  12.     #include <stdlib.h>
  13.     #include<string.h>
  14.     #include <dir.h>
  15.     #include <dos.h>
  16.  
  17.     void main(int c, char *drv[])
  18.     {
  19.         struct dfree free;
  20.         long Avail, Total;
  21.         int drive, len1, len2;
  22.         register int i, x;
  23.         char ch;
  24.         char *Longstr1, *Longstr2;
  25.         char *long1, *long2;
  26.         ch = drv[1][0];
  27.         printf( " \nGOKHAN KUCUKTOPUZLU     1993\n\n");
  28.         if( c < 2)
  29.             drive = getdisk();
  30.         else {
  31.             if( ch >= 97 && ch <= 122 )
  32.                 drive = (int ) ch - 97;
  33.             else if( ch >= 65 && ch <= 90 )
  34.                 drive = (int ) ch - 65;
  35.         }
  36.         getdfree( drive + 1, &free );
  37.         if( free.df_sclus == 0xFFFF )
  38.         {
  39.             printf( "getdfree() fonksiyonu cagiriminda hata !!!\n" );
  40.             exit(1);
  41.         }
  42.         Avail = ( long ) free.df_avail * ( long ) free.df_bsec * (long) free.df_sclus;
  43.         Total = ( long ) free.df_total * ( long ) free.df_bsec * (long) free.df_sclus;
  44.         Longstr1 = ( char * ) malloc( 15 );
  45.         Longstr2 = ( char * ) malloc( 15 );
  46.         ultoa( Avail, Longstr1, 10 );
  47.         ultoa( Total, Longstr2, 10 );
  48.         Longstr1 = strrev( Longstr1 );
  49.         Longstr2 = strrev( Longstr2 );
  50.         len1 = strlen(  Longstr1 );
  51.         len2 = strlen(  Longstr2 );
  52.         long1 = ( char * ) malloc( len1 );
  53.         long2 = ( char * ) malloc( len2 );
  54.         long1[0] = 0;
  55.         long2[0] = 0;
  56.         x=-1;
  57.         for( i = 1; i < len1 + 1; i++ ) {
  58.             x++;
  59.             long1[x] = Longstr1[i - 1];
  60.             if( (i % 3) == 0 && i < len1 ) {
  61.                 long1[x + 1] = ',';
  62.                 x++;
  63.             }
  64.         }
  65.         long1[x + 1] = 0;
  66.         x=-1;
  67.         for( i = 1; i < len2 + 1; i++ ) {
  68.             x++;
  69.             long2[x] = Longstr2[i-1];
  70.             if( (i % 3) == 0 && i < len2 ) {
  71.                 long2[x + 1] = ',';
  72.                 x++;
  73.             }
  74.         }
  75.         long2[x + 1] = 0;
  76.         long1 = strrev( long1 );
  77.         long2 = strrev( long2 );
  78.         printf( "%c: Surucusunde;\nToplam Alan......: %+15s  Byte\n",  'A' + drive, long2 );
  79.         printf( "Bos Alan.........: %+15s  Byte\n", long1 );
  80.     }
  81.